Backend Overview
The Iquea Commerce backend is a modern e-commerce REST API built with Spring Boot, providing a robust foundation for managing products, categories, orders, and user authentication.Technology Stack
Core Framework
- Java 21 - Latest LTS version with modern language features
- Spring Boot 3.4.0 - Enterprise-grade application framework
- Maven - Dependency management and build automation
Key Dependencies
Based onpom.xml, the backend leverages these essential libraries:
Spring Boot Starters
Security & Authentication
- Spring Security - Authentication and authorization
- JJWT 0.12.6 - JWT token generation and validation
- BCrypt - Password encryption
Database
- MySQL Connector - Database connectivity
- Hibernate/JPA - ORM framework
- MySQL 8.x - Production database
Development Tools
- Lombok 1.18.38 - Reduces boilerplate code
- MapStruct 1.6.0 - Type-safe bean mapping
- Spring DevTools - Hot reload and development utilities
- Spring Boot Actuator - Production monitoring and metrics
Project Structure
The backend follows a clean, layered architecture:Development Tools
Lombok
Lombok eliminates boilerplate code by generating getters, setters, constructors, and more at compile time. Configuration in pom.xml:MapStruct
MapStruct provides compile-time type-safe bean mapping between DTOs and entities. Example mapper interface:API Base Configuration
Application runs on:- Port:
8080 - Base URL:
http://localhost:8080 - API Prefix:
/api
/api/auth/*- Authentication endpoints/api/productos- Product management/api/categorias- Category management/api/pedidos- Order management/api/usuarios- User management
Development Workflow
-
Build the project:
-
Run the application:
- Hot reload: Spring DevTools enables automatic restart when code changes are detected.
-
Database initialization:
The application automatically creates tables and loads initial data from
data.sqlon startup.
Next Steps
Architecture
Learn about the layered architecture pattern
Domain Model
Explore entities and value objects
Security
Understand JWT authentication and authorization
Database
Database schema and configuration